package config;

import javax.servlet.*;
import java.io.IOException;

public class EncodingFilter implements Filter {

    @Override
    public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
            throws IOException, ServletException {

        // 解决 post 请求中文乱码
        request.setCharacterEncoding("utf-8");

        // 解决 get 请求中文乱码
        // 通过 tomcat 的 conf 目录 server.xml 中 Connector 标签加入 URIEncoding="UTF-8"
        // <Connector URIEncoding="utf-8" connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/>

        // 解决 响应 中文乱码
        response.setCharacterEncoding("utf-8");

        // 解决浏览器解析乱码
//        response.setContentType("text/html;charset=utf-8");

        // 解决 MySQL 数据库在 JDBC 中传递数据乱码
        // url = "jdbc:mysql://localhost:3306/数据库名?useUnicode=true&characterEncoding=utf8&useSSL=false"

        /* 放行 */
        chain.doFilter(request, response);
    }
}
